/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package campeonatobrasuka;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.text.DefaultFormatterFactory;
import javax.swing.text.MaskFormatter;

/**
 *
 * @author Jaqueline Ishiyama
 */
public class DefaultFormatter {

    public DefaultFormatterFactory setFormatoData() {
        MaskFormatter comFoco = null;
        try {
            comFoco = new MaskFormatter("##/##/####");
        } catch (Exception e) {
        }
        DefaultFormatterFactory factory = new DefaultFormatterFactory(comFoco, comFoco);
        return factory;
    }

    public boolean validadorData(String data) {
        data = data.trim();
        int tam = data.length();
        //tam = 10;

        if (tam == 10) {
            String dia = data.substring(0, 2);
            String mes = data.substring(3, 5);
            int diaInteiro = Integer.parseInt(dia);
            int mesInteiro = Integer.parseInt(mes);


            if ((diaInteiro <= 31) && (diaInteiro >= 01) && (mesInteiro <= 12) && (mesInteiro >= 01)) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    }

    public boolean ValidaNumero(JTextField Numero) {
        long valor;
        if (Numero.getText().length() != 0) {
            try {
                valor = Long.parseLong(Numero.getText());
            } catch (NumberFormatException ex) {
                JOptionPane.showMessageDialog(null, "Atenção aos campos que só aceitam números!", "Informação", JOptionPane.INFORMATION_MESSAGE);
                Numero.grabFocus();
                return false;
            }

        }
        return true;
    }

    public Date formataData(String data) throws Exception {
        if (data == null || data.equals("")) {
            return null;
        }

        Date date = null;
        try {
            DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
            date = (java.util.Date) formatter.parse(data);
        } catch (ParseException e) {
            throw e;
        }
        return date;
    }
}
